Computer infrastructure components providing applications for end users may vary widely. Many different variables related to different infrastructure components may impact application performance. For example, in a distributed computing environment, applications may be executed on one or more servers in geographic locations that are remote from the end user. Variables, such as server workload, network bandwidth, workstation processor utilization, etc., may impact application performance. In another environment, a user may execute an application locally on their personal computer but use data stored on a server accessed via a local area network, or the data for the application may be stored locally. In this environment, variables, such as processor and memory utilization, bandwidth in a local area network, or other variables may impact application performance. In yet another environment, where an application and all data for the application are stored locally, an upgrade in software, memory, etc., may impact application performance.
It is sometimes necessary to change computer infrastructure components in any of the environments described above. For example, a hard drive or motherboard may fail in a server or personal computer, which requires these components to be changed. In another example, a router may fail which may cause an end user to use a different router to access a network. In another example, a new version of an operating system may be available and thus a software upgrade may be needed. In another example, applications may be moved from one backend server to another backend server. A change in computer infrastructure may cause a change in application performance. A reduction in application performance can negatively impact the end user experience. After completing a computer infrastructure change, administrators may measure resource utilizations, such as central processing unit (CPU) utilization, memory utilization, bandwidth, etc., to test the impact of the computer infrastructure change. However, in many cases, even if CPU utilization, memory utilization, or bandwidth is sufficient, applications may run slower than prior to the change.